<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>原型链</title>
    <script>
        /**
         * 原型链，用于查找对象属性(隐式原型连)
         * 当访问一个对象的属性时，现在自身属性中查找，若没有再从隐式原型里面进行查找，若找不到，返回undefine
         */
        function Fun() {
            this.test = function () {
                console.log('test')
            }
        }
        
        Fun.prototype.test2 = function () {
            console.log('test2')
        }
        
        var fun = new Fun()
        fun.test()
        fun.test2()
        console.log(fun.toString())
        
        console.log(Fun.prototype);
        console.log(fun.__proto__ === Fun.prototype); // true
        console.log(Fun.prototype.__proto__ === Fun.prototype) //false
        console.log(Fun.prototype.__proto__ === Object.prototype)  //true
        
        console.log(Object.prototype.__proto__) //null 原型链的尽头
    </script>
</head>
<body>
    
</body>
</html>
